package com.prs.crm.service.cdxh;

import java.util.Date;
import java.util.List;

import com.prs.crm.domain.cdxh.MaterialProduct;
import com.prs.crm.domain.cdxh.material.MaterialTeam;
import com.prs.crm.service.BaseService;

/**
 * @author LanXiaoGang
 * @E-mail:lan9liang@163.com
 * @qq:7857553326
 * @version 创建时间：2010-12-6 上午10:40:23 简单说明
 */

public interface MaterialTeamService extends BaseService<MaterialTeam> {

	void saveMaterialTeam(MaterialTeam materialTeam, String[] materialYanse,
			String[] materialNorm, String[] materialTanca,
			String[] materialPvc, String[] materialScal, String[] materialDop,
			String[] materialProductNum, String[] materialSjProNum,
			String[] materialSyWuLiao, String[] materialCustomer,
			String[] materialFeiLiao, String[] materialStopState,
			String[] materialSuDu, String[] materialRemark,
			String[] productNums, Integer[] idObject, String[] planOrOrderId,
			Date[] supplierDate, String[] rushOrder, String[] productCodes,
			String[] productPackstyle,Integer[] backProductSate);

	/**
	 * 创建打印预览
	 */
	void saveMaterialTeamPrint(MaterialTeam materialTeam, String[] materialYanse,
			String[] materialNorm, String[] materialTanca,
			String[] materialPvc, String[] materialScal, String[] materialDop,
			String[] materialProductNum, String[] materialSjProNum,
			String[] materialSyWuLiao, String[] materialCustomer,
			String[] materialFeiLiao, String[] materialStopState,
			String[] materialSuDu, String[] materialRemark,
			String[] productNums, Integer[] idObject, String[] planOrOrderId,
			Date[] supplierDate, String[] rushOrder, String[] productCodes,
			String[] productPackstyle,Integer[] backProductSate);
	
	
	
	/**
	 * 查询剩余物料
	 * @param materialCode
	 * @param planCodeNum
	 * @return
	 */
	MaterialTeam  getMaterialTeam(String materialCode,String planCodeNum);
	/**
	 * 成型单打回的数据
	 * @param productCode
	 * @param orderplan
	 */
	void returnTrackMaterialTeam(String productCode,String orderplan,String needNum);
	
	/**
	 * 当换料大于0时候，把该产品的料还回去
	 * @param productCode
	 * @param orderplan
	 * @param nums
	 */
	void backTrackMaterialTeam(String productCode,String orderplan,Double nums,Double arealyNums);
	/**
	 * 当还聊等于0的时候，把该产品的料还回去
	 * @param productCode
	 * @param orderplan
	 * @param nums
	 */
	void backTrackMaterialTeamHunZero(String productCode,String orderplan,Double nums,Double arealyNums);
	/**
	 * 修改值
	 */
	void  saveOrMaterialTeam(MaterialTeam materialTeam);
	/**
	 * 根据编号查找
	 */
	List<MaterialTeam>  getMaterialTeamOrderpLan(String orderplan);
}
